package com.quanyan.place.entity;


import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 场馆购买合同
 * Created by zhang on 16/4/15.
 */
public class PlaceBuyContract implements Serializable{

    private Integer id;

    private String contractNo;

    @NotNull
    private Integer buyType;

    @NotNull
    private Date buyDate;

    private Date finishDate;

    @NotNull
    @Max(1000000000)
    private BigDecimal totalPrice;

    @NotNull
    private Date signDate;


    private Integer billingCycle;

    @NotNull
    private Integer placeId;

    @NotNull
    private Integer uid;

    private String phone;

    private String remark;

    private String signPeople;

    private Integer status;

    // 增加收款方公司名称，计租开始日期等
    private String receiveCompanyName;

    private Double taxRate;

    private Integer invoice;

    private String accountWay;

    private Date calRentStartTime;

    private Date calRentEndTime;

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getFinishDate() {
        return finishDate;
    }

    public void setFinishDate(Date finishDate) {
        this.finishDate = finishDate;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSignPeople() {
        return signPeople;
    }

    public void setSignPeople(String signPeople) {
        this.signPeople = signPeople;
    }

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public Integer getBuyType() {
        return buyType;
    }

    public void setBuyType(Integer buyType) {
        this.buyType = buyType;
    }

    public Date getBuyDate() {
        return buyDate;
    }

    public void setBuyDate(Date buyDate) {
        this.buyDate = buyDate;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public Integer getBillingCycle() {
        return billingCycle;
    }

    public void setBillingCycle(Integer billingCycle) {
        this.billingCycle = billingCycle;
    }

    public Integer getPlaceId() {
        return placeId;
    }

    public void setPlaceId(Integer placeId) {
        this.placeId = placeId;
    }

    private List<PlaceBuyContractDetail> placeBuyContractDetails;

    public List<PlaceBuyContractDetail> getPlaceBuyContractDetails() {
        return placeBuyContractDetails;
    }

    public void setPlaceBuyContractDetails(List<PlaceBuyContractDetail> placeBuyContractDetails) {
        this.placeBuyContractDetails = placeBuyContractDetails;
    }

    public Date getSignDate() {
        return signDate;
    }

    public void setSignDate(Date signDate) {
        this.signDate = signDate;
    }

    public String getReceiveCompanyName() {
        return receiveCompanyName;
    }

    public void setReceiveCompanyName(String receiveCompanyName) {
        this.receiveCompanyName = receiveCompanyName;
    }

    public Double getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(Double taxRate) {
        this.taxRate = taxRate;
    }

    public Integer getInvoice() {
        return invoice;
    }

    public void setInvoice(Integer invoice) {
        this.invoice = invoice;
    }

    public String getAccountWay() {
        return accountWay;
    }

    public void setAccountWay(String accountWay) {
        this.accountWay = accountWay;
    }

    public Date getCalRentStartTime() {
        return calRentStartTime;
    }

    public void setCalRentStartTime(Date calRentStartTime) {
        this.calRentStartTime = calRentStartTime;
    }

    public Date getCalRentEndTime() {
        return calRentEndTime;
    }

    public void setCalRentEndTime(Date calRentEndTime) {
        this.calRentEndTime = calRentEndTime;
    }

    @Override
    public String toString() {
        return "PlaceBuyContract{" +
                "id=" + id +
                ", contractNo='" + contractNo + '\'' +
                ", buyType=" + buyType +
                ", buyDate=" + buyDate +
                ", totalPrice=" + totalPrice +
                ", billingCycle=" + billingCycle +
                ", placeId=" + placeId +
                ", uid=" + uid +
                ", placeBuyContractDetails=" + placeBuyContractDetails +
                '}';
    }
}
